Wiki

Clone wiki

beremiz / Python 3 migration status

Python 2.7 will retire 2020. There is some time to do python3 migration.

Some work for converting source code to python3-compatible state was already done during pep8/pylint cleanups. But more work has to be done. Patches of course are very welcome. Currently it's required that changes for python3 support shouldn't break current python2 support. Just enable -py3k in check_source.sh script and check Beremiz source code. It's recommended to fix one issue per patch/commit.

Here is current status of Beremiz dependencies

Dependency Status
wxPython Recently released wxPython4.0 does already have Python3 support and it's already packaged for Debian Testing (python3-wxgtk4.0). That means it's going to be in the next stable release most likely. Some work for migration was already done before by Georgy Komarov from INEUM. But it wasn't merged into main repo because of invasive changes. Most likely migration to wxPython4.0 will be without backward compatibility.
pyro Currently is used pyro 3.16 and it should be replaced with pyro4. Unfortunately it may mean that it'll be impossible to connect to old PLC's used old pyro 3 library. M2Crypto module for SSL support in Pyro3 isn't needed anymore, Pyro4 does support SSL.
python-matplotlib There is python3 support in python3-matplotlib
python-lxml There is python3 support in python3-lxml
python-zeroconf There is python3 support in python3-zeroconf
python-cycler There is python3 support in python3-cycler
python-twisted There is python3 support in python3-twisted
python-nevow Python3 is not supported There is a fork where some functionality is supported. But because Beremiz don't have much dependencies on nevow, maybe better to move to something else (maybe suggested twisted.web (and twisted.web.template))
python-autobahn There is python3 support in python3-autobahn
CanFestival-3 CANOpen support. No work is done for python3 support
gnosis_utils CanFestival dependency. Package is unsupported, only python2.
wxglade Supports python3
pyjs SVGUI extension. Unmaintained, no python3 support, even python2 support is limited. Most likely SVGUI extension will be dropped without replacement.

Updated